package com.lh0811.forge.dependency.security.core.model.entity;

import com.alibaba.fastjson2.JSONObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 安全框架用户信息
 *
 * @author lh0811
 * @date 2021/5/7
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class SecurityUser implements Serializable {

    @Schema(description = "用户id")
    private String id;

    @Schema(description = "用户no")
    private String userNo;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "真实姓名")
    private String realName;

    @Schema(description = "当前租户信息")
    private SecurityTenant currTenantInfo;

    @Schema(description = "用户租户列表")
    private List<SecurityTenant> tenantInfo;

    @Schema(description = "菜单信息")
    private List<SecurityMenu> menuList;

    @Schema(description = "菜单信息")
    private List<SecurityMenu> menuTreeList;

    @Schema(description = "资源列表")
    private List<SecurityRes> resList;

    @Schema(description = "拓展信息")
    private JSONObject extInfo = new JSONObject();


}
